System for printer suggested upgrades to correct errors

ABSTRACT

Methods and apparatus for suggesting upgrades in response to printer errors. In one embodiment, a printer contains an error detecting device and an embedded Web server in communication with a global computer network. If printer errors are detected, error messages are generated. Each error message is conveyed through the embedded Web server to an external computer. The external computer may receive error information conveyed by a large number of printers, which can optionally be monitored and analyzed. Information on a selection of printer upgrades is maintained in a memory of the external computer. The external computer compares each error message received to this selection, if an upgrade corresponding to an error message is available, the system conveys a message detailing the availability of the upgrade.

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application is a divisional of application Ser. No.10/079,664, filed Feb. 20, 2002, pending.

BACKGROUND OF THE INVENTION

[0002] Field of the Invention: The present invention relates generallyto printers and methods selecting upgrades to correct printer errors.More specifically, the present invention relates to the suggestingprinter upgrades in response to the generation and communication ofprinter error messages to reduce the future occurrence of printererrors.

[0003] Printers are well known computer peripherals widely used in bothhome and business computing environments. Printer technology has maderapid advances over recent years. State of the art printers offer everincreasing levels of speed, print quality, easily manipulated formatoptions, and a wide variety of features, such as document collating,stapling, and various levels of print quality. Printers using Inkjet orlaser technology are capable of reproducing almost any image. As printertechnology advances, the process of printing a document from a computerworkstation involves ever increasing numbers of steps. Errors can occurat any of these steps. It has become common practice to keep an “errorlog” in the printer memory, to track printing errors and technicalproblems. The repair of inoperable or damaged printers can be aided byexamining the error log for patterns of errors occurring prior tobreakage.

[0004] As it is used herein, the term “printer” signifies any devicecapable of providing printer function alone or, alternatively, anydevice providing printer function in combination with one or more otherdocument processing functions, such as, for example, copying, scanning,or facsimile capabilities.

[0005] Printer manufacturers often provide technical support forprinting devices, including software, hardware, and firmware upgrades toresolve problems that users have encountered with printers.Unfortunately, many printers are either underutilized or inefficientlyutilized as users do not understand, or are not informed, of thesepotential upgrades, which can allow for more trouble free printer usage.A user must be aware of both that printer errors are of the type thatwould benefit from an upgrade and of the availability of such anupgrade. Learning the details of available upgrades has traditionallyrequired a user to research the manufacturer's website, or printedmaterials, to examine all available printer related upgrades and thencheck their details for desired characteristics. Monitoring printererror patterns requires users to keep track of all printer errors, whichis may be impracticable for some networked printers, or to examine andunderstand the printer error log. These activities may be beyond theabilities or merely beyond the “comfort level” of a casual computeruser.

[0006] Printers are known in the art that provide instructions to theuser for correcting simple physical problems, such as replacing an emptytoner bottle or clearing a paper jam. U.S. Pat. No. 6,185,379, issuedFeb. 6, 2001 to Lay et al., and U.S. Pat. No. 5,027,154 issued Jun. 25,1991 to Ujiie et al. describe such printers, and are incorporated hereinby reference. For more complex physical problems or other errorshowever, these systems merely advise the user to contact a repairservice. These printers thus fail to provide information on theavailability of upgrades that may lessen the recurrence of an error. Asystem or method that is capable of suggesting an upgrade that maylessen the occurrence of a printer error, in response to that errorwould be a substantial improvement in the art.

BRIEF SUMMARY OF THE INVENTION

[0007] The present invention provides methods and apparatus forsuggesting upgrades to ameliorate printer errors, in response tospecific printer errors as they occur. In one embodiment, a printercontains an error detecting device and an embedded Web server incommunication with a global computer network. If printer errors aredetected, error messages are generated. Each error message is conveyedthrough the embedded web server to a remote computer. The remotecomputer may receive error information conveyed by a large number ofprinters, which can optionally be monitored and analyzed. Information ona selection of printer upgrades is maintained in a memory of the remotecomputer. The remote computer compares each error message received tothis selection, if an upgrade corresponding to an error message isavailable, the system conveys a message detailing the availability ofthe upgrade. Methods of the present invention include providing aprinter incorporating an error detector, linked to a network. The errordetector monitors print jobs sent to the printer, generating an errormessage when an error is detected. Error messages are conveyed throughthe network to a remote computer where an ameliorative upgrade may beselected.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0008]FIG. 1 is a block diagram of a printing device configured with anembedded Web server for use in the methods and system of the presentinvention.

[0009]FIG. 2 illustrates a system of network components used in themethods and system of the present invention.

[0010]FIG. 3 is a flowchart showing a process of detecting printer errorinformation and generating printer error messages that may be used by aremote computer to suggest ameliorative printer upgrades in oneembodiment of a method of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0011] The present invention provides methods and apparatus forsuggesting upgrades in response to printing errors. In a preferredembodiment, the present invention makes use of an embedded Web serverincorporated in a printer and a error detector to carry out the methodsdescribed herein.

[0012] It will be appreciated by those skilled in the art that theembodiments herein described while illustrating certain embodiments arenot intended to so limit the invention or the scope of the appendedclaims. Those skilled in the art will also understand that variouscombinations or modifications of the preferred embodiments could be madewithout departing from the scope of the invention.

[0013] In a typical printing process over a network environment, a userat a computer workstation typically uses print driver software to loaddocuments or images into a buffer (usually an area on a disk of aworkstation), where a printer pulls them off the buffer at its own rate.The print driver functions to convert the text, graphics and printattributes specified by the user's workstation into a set of codes thatthe printer can translate and/or read. The set of codes is typically aversion of Printer Control Language (PCL), developed by Hewlett-Packardfor its dot-matrix, inkjet, and LaserJet series printers. The version ofPCL most commonly used as the printer coding language is PageDescription Language (PDL). Once the text, graphics and print attributeshave been converted to PDL, the PDL is transmitted by the workstationover the network where it is received by the printer as a Aprint job.@Examples of PDL's include HP-GL/2 language of Hewlitt-Packard, Inc. andPostScript of Adobe.

[0014] As the printer receives the coded language from the print driver,it stores the information in high capacity memory storage (jobretention), which typically comprises random-access memory (RAM) or ahard disk. A stored print job thus comprises one or more electronicallystored files and the print attributes associated therewith. Before atypical print job (e.g., a PDL file) can be printed, however, itscontents must be converted to a bit-mapped image format, also known as araster image. The raster image is a bit-mapped representation of thedocument to be printed, with each bit in the bitmap representing theabsence or presence of a dot (or pixel) on the printed page. A rasterimage processor (ARIP@) in the printer typically translates PDL files toa raster image, also called a ARIP'ed@ version of the file. Thus, theprint files include data representing graphical images and the RIP'edversion is generated from the print file. Typically, print jobs areRIP'ed before storage in job retention, making them Aprint ready files.@In some cases, print jobs are received by the printer in the form ofraster image data. In that case, a processor in the printer may engagein pixel image manipulation when storing the print job. The printer thenuses the data in the print ready file to control the mechanical printingcomponents and the printing steps, such as paper feeding, controllingthe inkjets of an inkjet printer or the laser scanning assembly andrevolving drum and other associated mechanism of a laser printer. Errorscan be introduced into the process at any of the above steps.

[0015] Referring to drawing FIG. 1, one possible embodiment of apreferred printer 10 for carrying out the methods of the presentinvention is shown. Printer 10 is configured with both printer specifichardware and software and an embedded Web interfacing system (e.g., aWeb server 12) for enabling access and interaction with other deviceslinked to local and external communication networks (Anetworks@),including the World Wide Web (the Alnternet@), a local area network(LAN), a wide area network (WAN), an intranet, the computer network ofan online service, etc. The printer specific hardware and software ofprinter 10 may be provided in any conventional printer configurationknown in the art, including those associated with laser printers, impactprinters, photographic printers, and inkjet printers. Printer 10optionally may include one or more local displays 26, which may comprisea conventional monitor, a monitor coupled with an integrated display, anintegrated display (e.g., an LCD display), or other means for viewingprint queues, print attributes, and associated data or processinginformation, including printer specific information. Printer 10 alsoincludes a network interface (I/O) 16 for bidirectional datacommunication through one or more and preferably all of the variousnetworks (LAN, WAN, Internet, etc.) using communication paths or linksknown in the art, including wireless connections, ethernet, bus line,Fibre Channel, ATM, standard serial connections, and the like.

[0016] In a most preferred embodiment, the embedded Web interfacingsystem comprises a Web server 12 providing one or more Web serverfunctions to requesting users linked by way of one or more of thevarious networks (LAN, WAN, Internet, etc.). The preferred printer 10 ofthe present invention may thus be the same or conceptually similar tothe printer apparatus configured with an embedded Web server describedin U.S. Pat. No. 5,956,487 to Venkatraman et al., assigned to theassignee of the present invention, the disclosure of which isincorporated by reference herein in its entirety.

[0017] Still referring to drawing FIG. 1, the embedded Web server 12 ofone preferred embodiment of the present invention is preferably housedin printer 10 on a single microprocessor board (not shown), whichincludes a microprocessor 20 responsible for controlling all aspects ofWeb server 12. Thus, microprocessor 20 is configured to processcommunication protocols and executable programs associated with Webserver 12 which are stored in ROM (not shown) and/or hard disk memory24. In one preferred embodiment, Web server 12 uses microprocessor 20and the ROM-stored protocols to exchange data with other devices/userson one or more of the networks via Hyper Text Transfer Protocol (HTTP)and Simple Mail Transfer Protocol (SMTP), although other protocols suchas File Transfer Protocol (FTP), Simple Network Management Protocol(SNMP), and Gopher document protocol may also be supported. Web server12 is further configured to send and receive HTML formatted files. Inaddition to being linked to a local area network (LAN) or wide areanetwork (WAN), printer 10 may be linked directly to the Internet vianetwork interface 16 and communication links 18 attached thereto.

[0018] Microprocessor 20 is preferably part of the existing circuitryassociated with a conventional printer. As such, microprocessor 20 ispreferably configured to perform some or all of the printer specificfunctions of printer 10, including control of printer specific hardwareand software.

[0019] Microprocessor 20 is provided with memory 22 in the form of RAM21 and/or hard disk memory 24, which may be associated with the printcache of printer 10, or which may be provided separately from the printcache. As used herein, printer memory designated for temporarily orpermanently storing one or more print jobs on hard disk memory 24 orother data storage device in printer 10 is referred to as Ajobretention@ 25. In one embodiment, a percentage of memory 22 in printer10 may be dedicated to Web server 12. Alternatively, Web server 12 mayshare the available memory 22 in printer 10 with the print cache.Preferably, printer 10 will be equipped with a minimum of 64 megabytesof RAM 21, although less RAM may be used in certain configurations.

[0020] Preferably, microprocessor 20 of printer 10 is configured totranslate coded language received from printer drivers of networkedworkstations into a bit-mapped image format (raster image format), andto store the translated print files in high capacity memory storage(i.e., job retention 25). Thus, the resulting ARIP'ed@ print jobs,representing graphical images of text or drawings along with associatedprint attributes, are stored in job retention 25 as Aprint ready files.”

[0021] Printer 10 will preferably contain executable software programsstored on hard disk memory 24 related to the operation of Web server 12.Hard disk memory 24 may also contain printer specific software programsrelating to the operation of printer specific hardware. Alternatively, aseparate hard disk (not shown) may optionally be provided with therequisite software programs for printing.

[0022] An error detector 23 located within the printer 10 is monitorseach step of the process of receiving, translating, storing and printinga print job. Preferably error detector 23 functions as microprocessor 20follows a set of instructions retained in memory 22 to check for errorsat each step of the process of receiving, translating, storing andprinting a print job. Alternatively, error detector 23 could be anadditional processor which is solely dedicated to the error detectionfunction. It will be appreciated that any method or system known, now orin the future, to those skilled in the art may be used to detect theerrors from which error messages are generated. All such methods andsystems are included within the scope of the present invention. Examplesof some possible error detectors, among others which may be used in thepresent invention, are disclosed in U.S. Pat. No. 5,620,264, issued Apr.15, 1997 to Kagita, and U.S. Pat. No. 5,625,757, issued Apr. 29, 1997 toKageyama et al., each of which is incorporated herein by reference.

[0023] It is preferred that the error detector generate a stack tracefor each error detected. The stack trace is a record that may be storedin memory 22, preferably as part of a printer error log. As a print jobis performed, the instructions for performing that print job containedin the software, or firmware, controlling the printer are followed. Thissoftware may be expressed as a number of lines of code, each of whichcontains a statement or command for the printer to follow. Each line maybe identified by an address identifying it by code number and linenumber, preferably this is expressed as a hexadecimal address. As eachprint job is performed, a program counter, counts the lines of code thatare utilized by the microprocessor 20. The stack trace contains at leastthe address of the line of code that was executed at the time of theerror. More preferably, it contains a history of the addresses of codelines performed in attempting to execute that print job, as well asother information such as the details of the print job, up to andincluding a copy of the print job itself. Errors may also be identifiedby a class to which an error code is assigned.

[0024] Mechanical components 28 of printer 10 are the mechanisms whichare used to handle paper and print documents. Mechanical components 28may include the paper feeding mechanism, the inkjets of an inkjetprinter, the laser scanning assembly and revolving drum and otherassociated mechanisms of a laser printer, or other printing mechanismsknown, now or in the future, to those skilled in the art.

[0025] Referring now to drawing FIG. 2, printer 10 is shown as connectedto a local computer network 30 to which are connected a number ofcomputer workstations 36. Printer 10 is able to accept print jobs fromeach workstation 36 through network operative connections as known tothose skilled in the art. Local computer network 30 also includes agateway 38, which will typically comprise a software and/or hardwarefirewall. Gateway 38 functions to block various external datatransmissions from being sent to locations residing inside localcomputer network 30. In this regard, gateway 38 may be restrictivelyconfigured to allow remotely situated users to access web pages withinlocal computer network 30 (e.g., via HTTP protocols) and to block allother access. Gateway 38 also provides a port for outgoing Internettraffic. Gateway 38 is further preferably configured to internally routeIP-Packets sent from workstations 36 to other web-based devices (e.g.,printer 10) also residing within local computer network 30 and viceversa. It will be appreciated that the term network as used herein mayinclude local network architecture 30, the internet and any othernetwork, as known to those skilled in the art.

[0026] An external computer 42 includes an I/O interface 46 that allowsconnections to be made to a computer network, including an Internet orother connection, similar to network interface 16 discussed above.External computer 42 includes a microprocessor 50 which is provided witha memory 52. Memory 52 preferably includes RAM 54 and hard disk 55.Memory 52 may also include any other data storage devices or systemswhich are useful in practicing the present invention. External computer42, preferably also includes input and output peripherals allowing usercommands to be given an executed. Microprocessor 50 is configured toprocess error messages received through the I/O interface 46 andmaintain information on a set of available printer upgrade packages inthe memory 52. Some embodiments may additionally maintain a database 60of error messages in the memory 52 as well. It will be appreciated thata system made in accordance with the principles of the present inventionmay include one or more external computers 42, as needed to handlereceiving error messages from a plurality of printers 10, or as desiredto handle other functions.

[0027] The information on a set of available printer upgrades preferablyconsists of a summary of the content of the upgrade, the printercondition the upgrade is intended to improve, information on where toobtain the upgrade, and a listing of printer errors that may beameliorated by the installation of that upgrade. The listing may includea number of error message codes.

[0028] Turning to drawing FIG. 3, one possible embodiment of a processfor detecting printer errors and suggesting an ameliorative upgrade isdescribed. For illustrative purposes, this process will be discussed asit would take place in connection with the embodiment of drawing FIGS. 1and 2, but it will be appreciated that the process may be used on anysuitable system. Printer 10 receives and performs a print job. This mayinvolve any or all of the steps discussed above. The print job ismonitored for errors throughout the printing process by error detector23, as shown by box S1. If no error is detected, no further action isneeded, as shown by box S2.

[0029] If error detector 23 detects an error at any point from receivingand processing the print job to producing the printed document, an errormessage is generated as shown in box E1. The error message may begenerated by the error detector 23, or by the Web server 12. In somepreferred embodiments, the error message is then written into aninternal error log that is kept in the memory 22 of the printer 10, asshown in box E2.

[0030] In embodiments that include it, Web server 12 then usesmicroprocessor 20 to convey the error message to external computer 42.If necessary, Web server 12 may be used to convert the error messageinto an appropriate format, such as an HTML file or an email message.Web server 12 then conveys the error message, in appropriate format, asone or more data packages (in accordance with a transfer protocol suchas IP or TCP) to the network address of external computer 42, as shownin box E3. In an embodiment, such as that depicted in FIG. 3, thisrequires the data packets to be conveyed through network interface 16and local computer network 30, over the internet (via gateway 38) to I/Ointerface 46 of external computer 42. External computer 42, which ispreferably a network server, receives and assembles the data packet intothe error message which is stored in memory 52. Preferably, thereception and assembly is accomplished by microprocessor 50. Inembodiments that do not include a Web server 12, microprocessor 20 maybe used to assemble an error message which is then conveyed over thelocal computer network 30 by another Web server. The error messages froma number of printers 10 may be all conveyed to the same network address,allowing external computer 42 to respond to error messages from anynumber of printers.

[0031] As error messages are generated, or conveyed by the Web server12, they contain information about the error, such as the stack tracefor that error, the type of printer error, the stage of printing atwhich the error occurred, the printer 10 component which generated orwas involved in the error, any other desired information regarding theerror, and preferably a predetermined error code identifying the errortype. Additional information included in the error message, or added bythe Web server 12 may include identifying information for the printer10, such as the model of the printer 10 and the version of the printersoftware which is being used to control the printer 10. Optionally, theinformation may contain the printer 10 serial number, or informationidentifying the user or owner of the printer 10.

[0032] It is preferred that printer 10 be configured so that a user ofthe printer, such as a network administrator, may enable or disable theconveying of error messages to external computer 42. This will allow forthe user to protect the error message data, if they decide such datashould not be disclosed outside their network. Typically, users will berequired to select a software upgrade for a printer 10 for receivingsuch error messages either by purchasing such an upgrade with thepurchase of a printer or through software available to be installedafter the purchase of a printer.

[0033] When an error message is received by external computer 42, theset of available upgrades is examined for an upgrade that corresponds tothat error, as shown by box E4. Preferably, a stack trace in the errormessage is compared to a code line hexadecimal address associated witheach of the available upgrades. If there is an available upgrade thatremoves the source of that error, reduces the recurrence of that error,improves the function of a component involved in that error, orotherwise ameliorates that error, that upgrade is selected by thecomparison, as depicted in box E4. A single upgrade, or any number ofameliorative upgrades may be selected in response to an error message.Any method known now, or in the future to those skilled in the art toaccomplish the selection process may be used, and all such methods arewithin the scope of the present invention.

[0034] Once one or more upgrades are selected, a message suggesting theselected upgrade is then conveyed to a user of the system as depicted inbox E5. This may be accomplished through any method known to thoseskilled in the art. One preferred method is for external computer 42 todirectly create an email message that is conveyed to a user of thesystem over the local computer network 30. A more preferred embodimentconveys information on the selected upgrade to the printer 10. Webserver 12, is then used to assemble and convey a message to the usersuggesting the selected upgrade. While any method of conveying a messageover a network may be used, it is preferred that Web server 12 be usedto assemble an email message that is conveyed using SMTP. The messagethen contains a summary of the selected upgrade and information on howto obtain and install the selected upgrade, thereby improving printerperformance. It is preferred that the email, or other message containHTML “buttons” or links, as known in the art, allowing a user at aworkstation 36 to select and install the selected upgrade by clicking onthe button. For network printers, it is preferred that the user informedof the selected upgrade be the network administrator, or other personresponsible for maintaining printer 10.

[0035] Alternatively, printer 10, may be configured to automaticallydownload and install the selected upgrade, upon receipt of theinformation on the selected upgrade from external computer 42. Suchembodiments allow printer efficiency to be improved without the need forany user input.

[0036] In some embodiments, an online database 60 of the error messagesmay be maintained by external computer 42. In these embodiments eacherror message received by external computer 42 is written into adatabase 60, as depicted in box E6. It is preferred that if a number ofdifferent databases 60 are kept, each database 60 will receive andcontain information from a number of printers that are selected invarious ways. This may be accomplished through the providing of eachdatabase 60 with separate IP addresses, among other possibilities. Forexample, only printers of a certain model may convey error messages toone database 60. Alternatively, only printers running certain softwareprograms may send error information to a particular database 60. Asingle printer 10 may send error information to one or more databases 60at the same time.

[0037] Database 60 may be searched and analyzed to provide informationon printing errors. This may provide a user, such as a printermanufacturer or printer service provider, with valuable informationconcerning the occurrence of various errors during actual use of theprinters. This information could be analyzed in a wide variety of ways.For example, if database 60 contains error messages from a number ofprinter models, the frequency of errors involving a single componentwhich is the same in a number of models may be analyzed. This could beused to determine the reliability of that specific component, or theproblems that typically occur with that component. By performing thisanalysis on one component that is supplied by different suppliers, thereliability of the component from different sources could be assessed.Maintaining an error database 60 allows a manufacturer, or other serviceprovider, to track printer errors and design ameliorative upgradesaccordingly. This allows the methods and system of the present inventionto further improve printer efficiency and reliability, by suggestingupgrades designed in response to the data collected on printer 10 erroroccurrences.

[0038] Accordingly, the present invention includes a method of improvingprinter productivity. This method includes the following acts. Providinga printer including an error detector for detecting errors in printingfunctions. Attaching the printer to a network; providing one or morereceiving computers in communication with that network, each capable ofreceiving an error message generated by the printer and conveyed overthe network. Using the printer to perform a print job and examining theperformance of that print job for errors using the error detector.Creating an error message, including identifying information, when anerror is detected. Transmitting the error message over the network andreceiving the error message at the receiving computer. Using thereceiving computer to compare the identifying information to a set ofprinter upgrades, to determine if an ameliorative upgrade correspondingto that error message is available. Conveying a message detailing theavailability of the ameliorative upgrade. The ameliorative upgrade maythen be installed on the printer.

[0039] It is preferred that the receiving computer include an errordatabase capable of receiving the error messages on a memory therein. Itis further preferred the error messages be retained there, and thedatabase be analyzed to determine the frequency of errors for designingadditional ameliorative upgrades to improve printer productivity. Themessage may be conveyed to the user as discussed above.

[0040] The present invention further includes a method of suggestingprinter upgrades, comprising the acts of attaching a receiving computerin communication with a network; receiving an error message containinginformation on a printing error occurring on a printer (includingidentifying the type of printing error) at that receiving computer;comparing the identifying information to information on a set of printerupgrades, to determine if an ameliorative upgrade corresponding to theerror message is available in that set of printer upgrades; andtransmitting an availability message suggesting an ameliorative upgrade,if one is available to improve printer function related to that printererror.

[0041] It is preferred that this method further include receiving errormessages from a number of printers and suggesting ameliorative upgradesfor each of those printers. Transmitting an availability messagepreferably includes conveying information describing the ameliorativeupgrade to each printer. Preferably, the printer then assembles an emailthat is conveyed to a user detailing the ameliorative upgrade. The emailmay contain HTML buttons allowing the upgrade to be installed. It isfurther preferred that the method be practiced with a printerincorporating a Web server 12. The Web server 12 may be directly used todownload and install the ameliorative upgrade. Optionally, the methodmay include receiving the error messages into an online database on thereceiving computer and retaining the message in that database 60.

[0042] The present invention thus advantageously provides methods andsystems of suggesting upgrades in response to actual printer errors. Useof the present invention is particularly advantageous for suggestingameliorative upgrade packages that will reduce the number of errorsoccurring on existing printers.

[0043] It will be appreciated by those skilled in the art thatillustrated embodiments herein described are not intended to limit theinvention or the scope of the appended claims. Various combinations andmodifications of the preferred embodiments could be made withoutdeparting from the scope of the present invention and all suchmodifications are within the scope of the present invention. Forexample, it is understood that while the methods and apparatus of thepresent invention have been described in relation to a workstationinteracting with a printer, one of skill in the art will recognize thatthe present invention may be utilized with a wide variety of networkedand/or Web-based devices.

[0044] Thus, while certain representative embodiments and details havebeen shown for purposes of illustrating the invention, it will beapparent to those skilled in the art that various changes in theinvention disclosed herein may be made without departing from the scopeof the invention, which is defined in the appended claims.

What is claimed is:
 1. A system for suggesting upgrades to ameliorateprinter errors, comprising: at least one printer linked to a network,said at least one printer comprising a error detector for detectingerrors in printing functions, said at least one printer capable ofgenerating an error message when an error in printing function isdetected by said error detector and conveying said error message oversaid network; and a receiving computer in communication with saidnetwork, said receiving computer having a memory thereon, said memorystoring at least a collection of information on a set of printerupgrades including a summary of the content of the upgrade, the printercondition the upgrade improves, information for obtaining the upgrade,and a listing of printer errors ameliorated by the installation of theupgrade; said receiving computer capable of receiving a said errormessage conveyed over said network by said at least one printer andselecting a selected printer upgrade from said set of printer upgradesin response to said error message.
 2. The system of claim 1, furthercomprising said receiving computer being configured to create a messagecontaining information on said selected printer upgrade and conveyingsaid message to said at least one printer.
 3. The system of claim 1,where said receiving computer further comprises at least one onlineerror database stored in said memory thereon, said at least one onlineerror database capable of receiving said error message generated by saidprinter and conveyed over said network.
 4. The system of claim 1,further comprising a plurality of printers, each of said plurality ofprinters comprising an error detector for detecting errors in printingfunctions, each of said plurality of printers capable of generating anerror message when said error in said printing function is detected bysaid error detector and conveying said error message over said network.5. The system of claim 4, wherein each of said plurality of printersincorporates a web server.